home *** CD-ROM | disk | FTP | other *** search
- ; CSOUND.ASM
- ;
- ; interface to resident sound-driver for LATTICE C compiler, LARGE model.
- ;
- ; 87/03/18 Ad Lib.
- ; 88/04/21 Ad Lib Inc.
- ;
- ;
- INCLUDE DOS.MAC ; memory models ...
- INCLUDE DEFS.MAC ; equates & sound-driver version proc.
-
-
-
- PSEG
-
- INCLUDE VERSION.MAC ; sound-driver signature
-
- public GetSoundDrvVersion
-
-
- ;
- ; unsigned GetSoundDrvVersion()
- ; if the sound-driver is charged in memory, return his
- ; version number, else 0.
- ;
- DrvVersionProc GetSoundDrvVersion
-
-
-
-
- ; int SoundCall( functionNumber, arg_list)
- ; int functionNumer;
- ; any... arg_list
- ;
- ; Generate interrupt to sound-driver with parameter's address
- ; in ES:BX and function number in SI
- ;
- ; Only registers AX, BX, CX & DX are lost.
-
- BEGIN SoundCall
-
- sframe STRUC
- dw ? ; old SI ( if using optimizing compiler ... )
- dw ? ; old DI
- dw ? ; old ES
- dw ? ; old BP
- db CPSIZE DUP (?) ; return addr
- args dw ?
- others dw ? ; other arguments, if any
- sframe ENDS
-
- push bp
- push es
- push di
- push si
-
- mov bp, sp
- mov si, [ bp].args ; get function number
- lea bx, [ bp].others ; get pointers to other args...
- push ss
- pop es
- int sound_driver_int ; call sound-driver ... return in AL, if any
-
- pop si
- pop di
- pop es
- pop bp
- ret
- SoundCall ENDP
-
-
- ENDPS
- end
-